package com.crcode.crm.dao.user;

import java.util.List;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;

import com.crcode.crm.bean.user.UserBean;

/**
 * 用户数据层接口
 * @author lxw
 * @date 2019年1月18日
 */
public interface UserDao extends JpaRepository<UserBean, Integer>, JpaSpecificationExecutor<UserBean> {
	/**
	 * 根据用户登录名 查询用户
	 * @author lxw  
	 * @date 2018年8月27日 下午2:35:11
	 * @param loginName
	 * @return
	 */
	public UserBean findByLoginName(String loginName);
	
	/**
	 * 根据序号单一、批量删除返回操作结果数
	 * @author lxw  
	 * @date 2018年8月27日 下午2:35:33
	 * @param ids
	 * @return
	 */
	public long deleteByIdIn(List<Integer> ids);
	
	/**
	 * 根据UUIDS删除对象，返回操作结果条数
	 * @author lxw
	 * @date 2019年1月18日
	 * @param uuids
	 * @return
	 */
	public Long deleteByUuidIn(List<String> uuids);
	/**
	 * 根据序号集 查询数据集
	 * @author lxw  
	 * @date 2018年8月27日 下午2:39:09
	 * @param ids
	 * @return
	 */
	public List<UserBean> findByIdIn(List<Integer> ids);
	/**
	 * 根据用户序号查询
	 * @author lxw
	 * @date 2018年8月29日 下午3:30:05
	 * @param userXh
	 * @return
	 */
	public UserBean findByUuid(String uuid);
	
	/**
	 * 根据是否可以查询数据集
	 * @author lxw
	 * @date 2019年4月1日
	 * @param isUse 1、可以，0、不可用
	 * @return
	 */
	public List<UserBean> findByIsUse(Integer isUse);
}
